In various types of data communication networks, network elements such as switches and Network Interface Controllers (NICs) use link-level flow-control on the network links that connect them.
Ethernet™ networks, for example, use a flow-control mechanism referred to as XON/XOFF. Ethernet flow-control is specified, for example, in Annexes 31B and 31D of IEEE Standard 802.3-2015, entitled “IEEE Standard for Ethernet,” March, 2016; in IEEE draft standard P802.1Qbb/D2.3, entitled “Virtual Bridged Local Area Networks—Amendment: Priority-based Flow Control,” May, 2010; and in chapter 36 of IEEE Standard 802.1Q-2014, entitled “IEEE Standard for Local and metropolitan area networks—Bridges and Bridged Networks,” 2014, which are incorporated herein by reference.
Other network protocols, such as Infiniband™ and Asynchronous Transfer Mode (ATM), use credit-based link-level flow-control. Credit-based flow-control in InfiniBand networks is specified, for example, in sections 3.7.2 and 7.9 of “Infiniband™ Architecture Specification Volume 1,” Release 1.3, March, 2015, which is incorporated herein by reference.
Credit-based flow-control schemes for ATM are described, for example, by Kung et al., in “Credit-Based Flow Control for ATM Networks: Credit Update Protocol, Adaptive Credit Allocation, and Statistical Multiplexing,” Proceeding of SIGCOMM '94 Conference on Communications Architectures, Protocols and Applications, London, United Kingdom, August 31-Sep. 2, 1994, pages 101-114, which is incorporated herein by reference; and by Kung and Morris, in “Credit-Based Flow Control for ATM Networks,” IEEE Network Magazine, volume 9, issue 2, March, 1995, pages 40-48, which is incorporated herein by reference.